共计 1815 个字符,预计需要花费 5 分钟才能阅读完成。
一. 硬盘的接口
1. 接口类型
-
IDE 并口
IDE 代表着硬盘的一种类型,IDE 接口硬盘多用于家用产品中,也部分应用于服务器。(现在已经被淘汰)
-
SATA 串口 (常用)
使用 SATA 接口的硬盘又叫串口硬盘,是现在和未来的 PC 机硬盘主流趋势。
-
SCSI
SCSI 接口具有应用范围广,多任务,带宽大 CPU 占用率低以及热插拔等优点。
-
SAS(SATA + SCSI) (常用)
SAS 的接口技术可以向下兼容 SATA,但反过来 SATA 系统并不兼容 SAS
-
光纤通道 (常用)
光纤通道接口,光纤通道是为向服务器这样的多硬盘系统环境而设计的,有热插拔性,高速带宽,远程连接,连接设备数量大等特点。
2. 硬盘与接口的搭配
- SSD + SAS =====> 土豪搭配
- SSD + SATA ====> 常规搭配, 对速度有特殊要求
- 机械硬盘 + SAS===> 常规搭配, 比较核心的业务使用, 对速度的要求常规
- 机械硬盘 + SATA==> 一般用于公司内部服务(慢一点没事)
3.Raid 卡
(阵列卡) 介绍
它其实是一种技术,叫做磁盘冗余阵列
-
raid 0 : 至少需要一块盘
容量 : n 块盘合在一起的总容量
性能 : 理论上是 n 块盘合在一起的读写速度, 实际上要略低一些
冗余性:不允许坏任何一块盘
场合:追求读写性能,但是对数据安全性没有啥要求,例如集群服务器
特点:追求速度,不考虑数据安全
-
raid 1 : 只能两块盘
容量:1 块盘的容量
性能:几乎就是一块盘的读写速度
冗余性:可以坏一块盘,另外一块盘有完整的数据
场合:对数据安全性有要求,对读写速度没有特殊要求,例如服务器的系统盘
特点:追求数据安全,不考虑速度
-
raid 5 : 至少 3 块盘, 两两进行奇偶校验
# 介于 Raid 0 与 Raid 1 之间的折中方案
// 两两之间奇偶校验 ---> 异或运算, 相同结果为 0, 不同结果为 1.
容量:废掉 1 块盘的容量,等量盘的情况下,容量低于 raid0
性能:读写速度 raid 0 > raid 5 > raid 1
冗余性:可以坏一块盘,其余两块盘可以通过奇偶校验推导出坏盘的数据
场合:一般的场合都可以使用
-
raid 10 : 至少四块盘
raid 1 和 raid 0 的整合的产物,兼顾了 raid 1 的数据安全性与 raid 0 的性能,但是成本大幅度提升
通常用于数据库服务器
-
优化读写的基本原则
1. 针对读操作, 数据能从内存取就不要从硬盘
2. 针对写操作, 在内存中攒一波再写入硬盘
二. 操作系统的发展史
操作系统最核心的概念就是进程
- 串行: 多个任务是一个运行完再运行下一个
- 并发: 多个任务看起来是同时运行的
1. 第一代计算机
-
真空管
2. 第二代计算机 (了解)
批处理系统(串行)
-
从字面上理解,就是一批一批的处理任务的一种系统
-
一次只把一个 / 道程序读入内存,运行完毕后,再执行下一个程序,没有并发,称之为串行
优点: 充分利用了计算机资源
缺点:
1. 整个过程需要人去参与程序的放置 //(这是以前, 现在不需要)
2. 让程序员明显的感觉到等待(要等到其他所有用户的程序跑完了才能看到结果)
3. 程序的运行是串行
3. 第三代计算机 (重点)
分时操作系统 CTTS (并发
)
- 多用户多任务
- 应用
多道技术
来实现 多个任务的并发的运行 - 分时操作系统将 CPU 的时间划分成若干个片段,称为时间片,操作系统以时间片为单位,轮流为每个终端用户服务 ,
由于时间间隔很短, 每个用户的感觉就像他独占计算机一样
-
分时操作系统特征
python
交互性: 用户与系统进行人机交互
多路性: 多用户在各自终端上使用同一 CPU
独立性: 用户可彼此独立操作, 互不干扰, 互补混淆
及时性: 用户在短时间内可得到系统的及时回应
-
分时系统主要运用的领域
PC 以及服务器都是采用这种运行模式, 即把 CPU 的运行分成若干个时间片分别处理不同的运算请求.
3. 两者不同点
- 批处理系统没有人机交互, 而分时操作系统允许多个用户同时使用
- 批处理系统允许程序长时间占用 CPU, 而分时操作系统不允许
4. 多道技术
多道技术指的是多个程序
4.1 为什么要有多道技术?
- 针对单核实现并发效果
现在的主机一般是多核, 每个核都会利用多道技术
比如有 4 个 cpu,运行在 cpu1 的某个程序遇到 I / O 阻塞,会等到 I / O 结束再重新调度,调度到 4 个 cpu 中的任意一个,具体由操作系统调度算法决定。
4.2. 复用
-
空间上的复用: 在内存里同时跑进多个程序(进程)
-
时间上的复用: 多个进程复用 CPU 的时间片(让 CPU 在多个进程之间来回切换, 什么时候切?👇👇👇👇)
js
1. 当一个进程占用 CPU 的时间过长要切(被操作系统剥夺对 CPU 的执行权限)(这里是为了保证并发效果)
2. 当一个进程遇到 I / O 堵塞 (I/ O 操作) 时要切
正文完